package com.grupobbva.seguridad.client.domain;

import java.io.Serializable;
import java.util.Map;

import com.grupobbva.seguridad.client.util.UtilPrimeFaces;

public class Usuario implements Serializable
{
	private static final long serialVersionUID = 1L;
	
	private String usuarioId;
	private String nombres;
	private Puesto puesto;
	private Oficina oficina;
	private Perfil perfil;
	private Aplicacion aplicacion;
	private Map<String, Opcion> opciones;
	private Map<String, Control> controles;
	
	private String nombre;
	private String apePat;
	private String apeMat;
	private String tipDoc;
	private String numDoc;
	private String email;
	private String fecIng;
	
	public String getUsuarioId() {
		return usuarioId;
	}
	public void setUsuarioId(String usuarioId) {
		this.usuarioId = usuarioId;
	}
	public String getNombres() {
		return nombres;
	}
	public void setNombres(String nombres) {
		this.nombres = nombres;
	}
	public Perfil getPerfil() {
		return perfil;
	}
	public void setPerfil(Perfil perfil) {
		this.perfil = perfil;
	}
	public Aplicacion getAplicacion() {
		return aplicacion;
	}
	public void setAplicacion(Aplicacion aplicacion) {
		this.aplicacion = aplicacion;
	}
	public Map<String, Control> getControles() {
		return controles;
	}
	public void setControles(Map<String, Control> controles) {
		this.controles = controles;
	}
	public Map<String, Opcion> getOpciones() {
		return opciones;
	}
	public void setOpciones(Map<String, Opcion> opciones) {
		this.opciones = opciones;
	}
	
	/**/
	private Object menuModel; 
	public Object getMenuModelPrimefaces() {
		if(menuModel == null) {
			menuModel = UtilPrimeFaces.generarMenuModel(opciones);
		}
		return menuModel;
	}
	public void setPuesto(Puesto puesto) {
		this.puesto = puesto;
	}
	public Puesto getPuesto() {
		return puesto;
	}
	public void setOficina(Oficina oficina) {
		this.oficina = oficina;
	}
	public Oficina getOficina() {
		return oficina;
	}
	public String getPuestoId() {
		return puesto.getPuestoId();
	}
	public void setPuestoId(String puestoId) {
		this.puesto.setPuestoId(puestoId);
	}
	public String getOficinaId() {
		return oficina.getOficinaId();
	}
	public void setOficinaId(String oficinaId) {
		this.oficina.setOficinaId(oficinaId);
	}
	public String getOficinaNombre() {
		return oficina.getNombre();
	}
	public void setOficinaNombre(String oficinaNombre) {
		this.oficina.setNombre(oficinaNombre);
	}
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getApePat() {
		return apePat;
	}
	public void setApePat(String apePat) {
		this.apePat = apePat;
	}
	public String getApeMat() {
		return apeMat;
	}
	public void setApeMat(String apeMat) {
		this.apeMat = apeMat;
	}
	public String getTipDoc() {
		return tipDoc;
	}
	public void setTipDoc(String tipDoc) {
		this.tipDoc = tipDoc;
	}
	public String getNumDoc() {
		return numDoc;
	}
	public void setNumDoc(String numDoc) {
		this.numDoc = numDoc;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getFecIng() {
		return fecIng;
	}
	public void setFecIng(String fecIng) {
		this.fecIng = fecIng;
	}	
	
}